/**
 * store_config.js
 * PLM项目Store统一配置入口
 */

// 尝试从PLM项目store目录的统一入口导入
let projectStore, plmStore, researchStore, favFootStore, plmProjectStore;

try {
  // 尝试从PLM项目config目录的统一入口导入
  const storeModules = require('../../../projects/plm/config/store_config.js');
  
  // 从统一入口获取所有store对象
  projectStore = storeModules.projectStore;
  plmStore = storeModules.plmStore;
  researchStore = storeModules.researchStore;
  favFootStore = storeModules.favFootStore;
  plmProjectStore = storeModules.plmProjectStore;
  
  console.log('成功从PLM项目config/store_config.js导入所有store模块');
} catch (e) {
  console.error('从PLM项目统一入口导入store失败，使用备用方案', e);
  
  // 备用方案：使用之前的安全加载逻辑
  try {
    // 尝试导入PLM主Store
    plmStore = require('../../../projects/plm/store/plm_store.js');
  } catch (e) {
    console.error('加载plm_store.js失败，使用空对象', e);
    plmStore = {
      // 提供最基本的空实现，防止调用时出错
      clearCache: function() { console.warn('使用空实现的plmStore.clearCache'); }
    };
  }

  // 备用：加载项目Store
  try {
    projectStore = require('../../../projects/plm/store/project_store.js');
  } catch (e) {
    console.error('加载project_store.js失败，使用空对象', e);
    projectStore = {
      // 提供默认的项目Store实现
      projectList: [],
      currentProject: null,
      clearProject: function() { console.warn('使用空实现的projectStore.clearProject'); },
      loadProjectList: function() { console.warn('使用空实现的projectStore.loadProjectList'); return Promise.resolve([]); },
      loadProjectDetail: function() { console.warn('使用空实现的projectStore.loadProjectDetail'); return Promise.resolve(null); }
    };
  }

  try {
    // 尝试导入研究Store
    researchStore = require('../../../projects/plm/store/research_store.js');
  } catch (e) {
    console.error('加载research_store.js失败，使用空对象', e);
    researchStore = {};
  }

  try {
    // 尝试导入收藏足迹Store
    favFootStore = require('../../../projects/plm/store/fav_foot_store.js');
  } catch (e) {
    console.error('加载fav_foot_store.js失败，使用空对象', e);
    favFootStore = {};
  }

  try {
    // 先尝试导入PLM项目Store (从项目目录)
    plmProjectStore = require('../../../projects/plm/store/plm_project_store.js');
  } catch (e) {
    console.error('加载项目内plm_project_store失败，尝试加载全局store', e);
    
    try {
      // 备用：尝试导入PLM项目Store (从全局目录)
      plmProjectStore = require('../project/plm_project_store.js');
    } catch (e2) {
      console.error('加载全局plm_project_store也失败，使用空对象', e2);
      plmProjectStore = {
        // 提供简单的空实现以防止错误
        clearAll: function() { console.warn('使用空实现的plmProjectStore.clearAll'); }
      };
    }
  }
}

// 导出模块
module.exports = {
  plmStore,
  projectStore,
  researchStore,
  favFootStore,
  plmProjectStore
}; 